/**
 * 支付结果查询
 */
package com.pay.sdk.service.pay;

import java.util.Map;

import com.pay.sdk.common.Configure;
import com.pay.sdk.service.IPostService;
import com.pay.sdk.util.MD5Utils;
import com.pay.sdk.util.RandomStringGenerator;

public class XyPayQuery extends IPostService {

    private static final String SERVICE_NAME = "api.xy.weixin.query";
    private static final String SERVICE_VERSION = "1.0";
    private static final String SERVICE_CHARSET = "UTF-8";
    private static final String SERVICE_SIGN_TYPE = "MD5";
  
    
    @Override
    public String exec(Map<String, String> params){
    	//通用参数
        params.put("version", SERVICE_VERSION);
        params.put("charset", SERVICE_CHARSET);
        params.put("sign_type",SERVICE_SIGN_TYPE);
        //请求参数
        params.put("service", SERVICE_NAME);
        params.put("merchant_no", Configure.getMerchantNo());
        params.put("out_trade_no", params.get("out_trade_no"));
		params.put("nonce_str", RandomStringGenerator.getRandomStringByLength(32));
		params = MD5Utils.signMap(params, SERVICE_SIGN_TYPE, Configure.getKey(), SERVICE_CHARSET);

        return txn(Configure.isDevEnv() ? Configure.PAY_GATEWAY_DEV_API : Configure.PAY_GATEWAY_API, params);
    }
}
